<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <!-- 检查一个字符串是否包含所有长度为 K 的二进制子串 -->
    <script>
      /*
        思路：1. 找出s中所有k位的0和1的组合可能情况。
              2. 用滑动窗口将值存入Set中，Set值总是唯一的。
              3. 对比Set内存储的元素个数和2的k次方
      */
      var hasAllCodes = function (s, k) {
        let len = s.length
        let left = 0
        let right = k
        let mySet = new Set()
        while (right <= len) {
          mySet.add(s.substring(left, right))
          left++
          right++
        }
        let myArr = [...mySet]
        return myArr.length == Math.pow(2, k)
      }
      console.log(hasAllCodes('00110110', 2))
    </script>
  </body>
</html>
